<?php
declare (strict_types = 1);

namespace app\shop\validate;

use think\Validate;

class Goods extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        'goods_name' =>'require',
        'goods_number' => 'number',
        'goods_logo' => 'fileSize:20481000000|fileExt:png,jpeg,jpg',// 方式一、多个规则
//        'goods_logo' => ['fileSize:20481000000','fileExt:png,jpeg,jpg']

    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    protected $message = [
        'goods_name.require' => '商品名称必填',
        'goods_number.number' => '商品数量只能是数字',
        'goods_logo.fileSize' => '商品大小不符合规格',
        'goods_logo.fileExt' => '商品logo后缀只支持png、jpeg、jgp'
    ];

    /**
     * 单独为修改做验证特殊处理
     * 修改添加id验证、移除文件的必填验证
     * 方法命名规范 scene+场景名
     * append 追加一些验证
     * remove 移除一些验证规则
     */
    public function sceneEditor(){
        return $this->append('id','require|number')->remove('goods_logo','require|fileSize');
    }
}
